package com.citycloud.ccuap.tc.yq.entity;

import static org.springframework.data.mybatis.annotations.Id.GenerationType.UUID;

import java.util.Date;

import org.springframework.data.mybatis.annotations.Entity;
import org.springframework.data.mybatis.annotations.Column;
import org.springframework.data.mybatis.annotations.Condition;
import org.springframework.data.mybatis.annotations.Conditions;
import org.springframework.data.mybatis.annotations.Id;
import org.springframework.data.repository.query.parser.Part;

import com.citycloud.ccuap.framework.service.Model;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 海搜结果结果中过滤-符号实体对象
 * @author sufeng
 *
 */
@Data
@NoArgsConstructor
@Entity(table = "sys_result_symbol")
public class SysResultSymbol implements Model {
	private static final long serialVersionUID = 1L;
	
	@Id(strategy = UUID)
	@Column(name = "obj_id")
	@Condition(type = Part.Type.LIKE)
	private String objId;
	
	@Column(name = "createdate")
	@Conditions({ 
		@Condition,
		@Condition(type = Part.Type.GREATER_THAN_EQUAL, properties="startCreatedate"), 
		@Condition(type = Part.Type.LESS_THAN, properties="endCreatedate") 
	})
	private Date createdate;
	
	@Column(name = "modifydate")
	@Conditions({ 
		@Condition,
		@Condition(type = Part.Type.GREATER_THAN_EQUAL, properties="startModifydate"), 
		@Condition(type = Part.Type.LESS_THAN, properties="endModifydate") 
	})
	private Date modifydate;
	
	@Column(name = "symbol_name")
	@Condition(type = Part.Type.LIKE)
	private String symbolName;
	
	@Column(name = "symbol_code")
	@Condition(type = Part.Type.LIKE)
	private String symbolCode;
	
	@Column(name = "symbol_template")
	@Condition(type = Part.Type.LIKE)
	private String symbolTemplate;
	
	@Column(name = "symbol_apply")
	@Condition(type = Part.Type.LIKE)
	private String symbolApply;
	
	@Column(name = "symbol_type")
	@Condition(type = Part.Type.LIKE)
	private String symbolType;
	
	@Column(name = "obj_idx")
	@Condition
	private Long objIdx;
	
	@Column(name = "symbol_note")
	@Condition(type = Part.Type.LIKE)
	private String symbolNote;
	
	@Column(name = "symbol_inuse")
	@Condition(type = Part.Type.LIKE)
	private String symbolInuse;
	
	@Column(name = "symbol_addon")
	@Condition(type = Part.Type.LIKE)
	private String symbolAddon;

}